package com.e3.basdoc.cust.client;

import java.util.List;

import com.e3.basdoc.cust.model.CustAccountModel;
import com.e3.basdoc.cust.model.CustModel;
import com.e3.basdoc.cust.model.CustQC;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface CustRPCServiceAsync {

	void deleteCusts(List<CustModel> custModels, AsyncCallback<Void> callback);

	void getCustById(Long id, AsyncCallback<CustModel> callback);

	void getCustChildren(CustModel custModel, AsyncCallback<List<CustModel>> callback);

	void getCustsByCondition(CustQC custQC, AsyncCallback<List<CustModel>> callback);

	void modifyCust(CustModel custModel, AsyncCallback<CustModel> callback);

	void newCust(CustModel custModel, AsyncCallback<CustModel> callback);

	void getPagingCusts(PagingLoadConfig config,AsyncCallback<PagingLoadResult<CustModel>> callback);

	void createAccountModelInstance(AsyncCallback<CustAccountModel> callback);

}
